Next: URI Encoding, Up: URI Parsing [Contents][Index]
Each parsed URI structure contains the following slots:
typeThe URI scheme (a string, e.g., http). See
Supported URL
Types, for a list of schemes that the url
library knows how to process. This slot can also be
nil, if the URI is not fully specified.
userThe user name (a string), or nil.
passwordThe user password (a string), or nil. The use
of this URI component is strongly discouraged; nowadays,
passwords are transmitted by other means, not as part of a
URI.
hostThe host name (a string), or nil. If present,
this is typically a domain name or IP address.
portThe port number (an integer), or nil.
Omitting this component usually means to use the
“standard” port associated with the URI
scheme.
filenameThe combination of the “path” and
“query” components of the URI (a string), or
nil. If the query component is present, it is
the substring following the first
‘?’ character, and the path
component is the substring before the
‘?’. The meaning of these components
is scheme-dependent; they do not necessarily refer to a file
on a disk.
targetThe fragment component (a string), or nil.
The fragment component specifies a “secondary
resource”, such as a section of a webpage.
fullnessThis is t if the URI is fully specified,
i.e., the hierarchical components of the URI (the hostname
and/or username and/or password) are preceded by
‘//’.
These slots have accessors named
url-part, where part is the
slot name. For example, the accessor for the host
slot is the function url-host. The
url-port accessor returns the default port for the
URI scheme if the parsed URI’s port slot is
nil.
The slots can be set using setf. For example:
(setf (url-port url) 80)
Next: URI Encoding, Up: URI Parsing [Contents][Index]